Algorithms for Managing the Evolution of Software Designs
نویسندگان
چکیده
Most software systems evolve, with time, in response to changing functional and non-function requirements. This evolution aaects both the dynamic behavior of the system as well as the form of the static software ar-tifacts (e.g., source code, user documentation, requirements speciications, design diagrams, test scripts) that comprise the system. A major challenge facing software practitioners is being able to evolve software artifacts to support new system features without corrupting these artifacts. For example, some questions that may arise during the design evolution process are: How does the introduction of a new module or subsystem aaect the structure of a software design? Does the addition of such components violate any constraints imposed by the design no-tation? Can the design be \repaired" automatically, if necessary, to satisfy the design constraints? Have any redundant components or relations been added by mis-take? Adding new features, or changing existing ones, is likely to involve a reconnguration of several entities and relations in a design diagram. In this paper we focus on how to evolve formal design diagrams in response to changing system requirements. By formal, we mean diagrams whose set of legal (well-formed) conngurations of entities and relations is determined by the syntax and semantics of the design notation. Our approach to managing the evolution of formal designs is based on a set of algorithms that facilitates the incremen-tal modiication of designs without compromising their well-formedness.
منابع مشابه
A Comparative Study of Four Evolutionary Algorithms for Economic and Economic-Statistical Designs of MEWMA Control Charts
The multivariate exponentially weighted moving average (MEWMA) control chart is one of the best statistical control chart that are usually used to detect simultaneous small deviations on the mean of more than one cross-correlated quality characteristics. The economic design of MEWMA control charts involves solving a combinatorial optimization model that is composed of a nonlinear cost function ...
متن کاملSmart Diabetic Screening and Managing Software, A Novel Decision Support System
Background: Diabetes is a serious chronic disease, and its increasing prevalence is a global concern. If diabetes mellitus is left untreated, poor control of blood glucose may cause long-term complications. A big challenge encountered by clinicians is the clinical management of diabetes. Many IT-based interventions such ad CDSS have been made to improve the adherence to the standard care for ch...
متن کاملIncreasing the Accuracy of Recommender Systems Using the Combination of K-Means and Differential Evolution Algorithms
Recommender systems are the systems that try to make recommendations to each user based on performance, personal tastes, user behaviors, and the context that match their personal preferences and help them in the decision-making process. One of the most important subjects regarding these systems is to increase the system accuracy which means how much the recommendations are close to the user int...
متن کاملXergy analysis and multiobjective optimization of a biomass gasification-based multigeneration system
Biomass gasification is the process of converting biomass into a combustible gas suitable for use in boilers, engines, and turbines to produce combined cooling, heat, and power. This paper presents a detailed model of a biomass gasification system and designs a multigeneration energy system that uses the biomass gasification process for generating combined cooling, heat, and electricity. Energy...
متن کاملManaging Class Evolution in Object Oriented Systems Managing Class Evolution in Object Oriented Systems Managing Class Evolution in Object Oriented Systems 8. Change Avoidance Managing Class Evolution in Object Oriented Systems Change Propagation
Software components developed with an object-oriented language undergo considerable repro-gramming before they become reusable in a wide range of applications or domains. Tools andmethodologies are therefore needed to cope with the complexity of designing, updating and reor-ganizing vast collections of classes. This paper describes several techniques for controllingchange in obj...
متن کامل